package com.example.demo.util;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class PropertiesUtil {
	private static Logger logger = LogManager.getLogger();
	
	private static Properties _prop = new Properties();
	
	/**
	 * @return
	 * @创建时间: 2019年8月8日
	 * @创建人: 许子文
	 * @功能描述: 初始化读取配置文件 
	 * @注：项目启动时会调用这个方法加载配置文件,此后在项目中需要读取配置文件之只要调用readProperties()即可获取属性,如果修改了配置文件想要重新读取得话再调用这个方法
	 */
	public static void initProperty() {
		readProperties("profile.properties");
	}

	/**
	 * 读取配置文件
	 * 
	 * @param fileName
	 */
	private static void readProperties(String fileName) {
		try {
//			InputStream in = PropertiesUtil.class.getResourceAsStream("/" + fileName);
			InputStream in = new FileInputStream(fileName);
			BufferedReader bf = new BufferedReader(new InputStreamReader(in));
			_prop.load(bf);
		} catch (IOException e) {
			logger.error("读取配置文件失败",e);
			throw new RuntimeException();
		}
	}

	/**
	 * 根据key读取对应的value
	 * 
	 * @param key
	 * @return
	 */
	public static String getProperty(String key) {
		return _prop.getProperty(key);
	}
}
